#include "clickedbtn.h"
#include "global.h"

#include <QMouseEvent>

ClickedBtn::ClickedBtn(QWidget *parent)
    :QPushButton(parent)
{
    // 设置鼠标样式为手型图标样式
    setCursor(Qt::PointingHandCursor);
}

void ClickedBtn::SetState(QString normal, QString hover, QString press)
{
    _normal = normal;
    _hover = hover;
    _press = press;
    setProperty("state", _normal);
    repolish(this);
    update();
}

// 处理鼠标安下事件
void ClickedBtn::mousePressEvent(QMouseEvent* e)
{

}
// 处理鼠标释放事件
void ClickedBtn::mouseReleaseEvent(QMouseEvent* e)
{

}

// 处理鼠标悬停进入事件
void ClickedBtn::enterEvent(QEnterEvent *event)
{
    // 设置属性，触发样式更新
    setProperty("state", _hover);
    repolish(this);
    update();
    // 调用基类的事件处理函数，防止样式更新失效
    QPushButton::enterEvent(event);
}

// 处理鼠标悬停离开事件
void ClickedBtn::leaveEvent(QEvent *event)
{
    // 设置属性，触发样式更新
    setProperty("state", _normal);
    repolish(this);
    update();
    // 调用基类的事件处理函数，防止样式更新失效
    QPushButton::leaveEvent(event);
}
